package com.nd.dao;

import com.nd.pojo.bean.Category;
import com.nd.pojo.bean.CategoryExample;
import com.nd.pojo.vo.CategoryChildrenVo;
import com.nd.pojo.vo.CategoryListVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface CategoryMapper {
    long countByExample(CategoryExample example);

    int deleteByExample(CategoryExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(Category record);

    int insertSelective(Category record);

    List<Category> selectByExample(CategoryExample example);

    Category selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") Category record, @Param("example") CategoryExample example);

    int updateByExample(@Param("record") Category record, @Param("example") CategoryExample example);

    int updateByPrimaryKeySelective(Category record);

    int updateByPrimaryKey(Category record);
    //查询类目关联表
    List<CategoryChildrenVo> selectCategoryChildrenVos(Integer pid);
    //查询商品的类目id和父类目的id
    Integer selectPidById(Integer categoryId);

    byte findMaxSortOrder();

    void categoryCreate(Category category);

    void categoryUpdate(Category category);

    void categoryUpdate2(Category category);

    void deleteCategory(Integer id);
}